package com.larly.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;
import java.util.Date;

import com.larly.model.domain.PrivateMessage;
import lombok.Data;
import org.springframework.beans.BeanUtils;

/**
 * 私信表
 *
 * @TableName private_message
 */
@Data
public class PrivateMessageVO implements Serializable {
    /**
     * 消息ID
     */
    private Long id;

    /**
     * 发送者ID
     */
    private Integer senderId;

    /**
     * 发送者昵称
     */
    private String senderNickname;

    /**
     * 发送者头像
     */
    private String senderAvatar;

    /**
     * 接收者ID
     */
    private Integer receiverId;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 消息类型（1=文本，2=图片）
     */
    private Integer msgType;

    /**
     * 是否已读（0=未读，1=已读）
     */
    private Integer isRead;

    /**
     * 发送时间
     */
    private Date sendTime;

    /**
     * 已读时间
     */
    private Date readTime;

    /**
     * 从实体类转换
     */
    public static PrivateMessageVO fromEntity(PrivateMessage message, String senderNickname, String senderAvatar) {
        PrivateMessageVO vo = new PrivateMessageVO();
        BeanUtils.copyProperties(message, vo);
        vo.setSenderNickname(senderNickname);
        vo.setSenderAvatar(senderAvatar);
        return vo;
    }
}